Test programs are computer-executable programs that may be executed to evaluate one or more properties of interest in connection with the operation of a software or hardware component. Test programs may be executed with respect to a component or system being tested in order to validate data inputs or outputs, to ensure that operations of the component or system are performed within acceptable time limits, to ensure that the component or system can be successfully installed and run in an intended environment, and so forth.
Certain test programs may require a system interval to expire prior to completing execution. Such test programs may be referred to as system interval dependent test programs. A system interval may be certain duration of time (e.g., a minute, ten minutes, an hour, etc.), at the expiration of which an event may occur. A system interval dependent test program may require the event to occur prior to completing its execution. For example, a system interval may trigger the reporting of accounting data that a system interval dependent test program may validate.
Oftentimes, some portion of a system interval dependent test program is executed prior to expiration of a system interval, and upon expiration of the system interval, a remainder of the test program is executed to perform validation processing. In those cases in which a system interval dependent test program is only performing a small task prior to expiration of the interval, relatively simple test programs can result in significantly elongated execution times. The automation and inclusion of system interval dependent test programs into regression test suites may result in further dramatic increases in total execution time as the number of such test programs increases.
Discussed herein are technical solutions that optimize the execution order of system interval dependent test programs to address at least the above-mentioned drawback as well as other drawbacks.